package model

import "time"

type Messages []Message

// 消息结构体排序
func (I Messages) Len() int {
	return len(I)
}
func (I Messages) Less(i, j int) bool {
	return I[i].ID < I[j].ID
}
func (I Messages) Swap(i, j int) {
	I[i], I[j] = I[j], I[i]
}



// 发送消息格式类型
type Message struct {
	ID        uint `gorm:"primary_key" json:"id,omitempty" form:"id"`	//消息ID
	Userid  int64  `gorm:"size:10" json:"userid,omitempty" form:"userid"`   //谁发的
	Cmd     int    `gorm:"size:10 default:10" json:"cmd,omitempty" form:"cmd"`         //群聊还是私聊
	Dstid   int64  `gorm:"size:10" json:"dstid,omitempty" form:"dstid"`     //对端用户ID/群ID
	Media   int    `gorm:"size:10" json:"media,omitempty" form:"media"`     //消息按照什么样式展示
	Content string `gorm:"size:255" json:"content,omitempty" form:"content"` //消息的内容
	Pic     string `gorm:"size:255" json:"pic,omitempty" form:"pic"`         //预览图片
	Url     string `gorm:"size:255" json:"url,omitempty" form:"url"`         //服务的URL
	Memo    string `gorm:"size:255" json:"memo,omitempty" form:"memo"`       //简单描述
	Amount  int    `gorm:"size:10" json:"amount,omitempty" form:"amount"`   //其他和数字相关的

	User User  `gorm:"FOREIGNKEY:ID;ASSOCIATION_FOREIGNKEY:Userid" json:"user"`

	CreatedAt time.Time `gorm:"default:null"`
	UpdatedAt time.Time	`gorm:"default:null"`
	DeletedAt *time.Time `sql:"index"`
}
